-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Implement experimental module selectors (MyMod::someName) feature #34556
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
eb8ecdf
to
b6d41f6
Compare
9c9e8e9
to
6edf769
Compare
Woohoo! Thank you for reviving this, Becca! |
The diagnostics in this test will evolve as we implement pieces of the feature.
Adds comments explaining why these conversions aren’t lossy.
Lookups like Builtin::Int64 were failing because BuiltinUnit rejected all unqualified lookups. Make it allow unqualified lookups with a module selector.
@swift-ci please smoke test |
This support is currently opt-in and has several modes.
@swift-ci please build toolchain |
@swift-ci build toolchain Windows platform |
@swift-ci please test |
@swift-ci build toolchain Windows platform |
4 similar comments
@swift-ci build toolchain Windows platform |
@swift-ci build toolchain Windows platform |
@swift-ci build toolchain Windows platform |
@swift-ci build toolchain Windows platform |
@swift-ci build toolchain |
1 similar comment
@swift-ci build toolchain |
This pull request begins to implement "module selectors", which allow references to declarations to be unambiguously prefixed with a module they can be found through:
This PR parses module selectors and partially implements lookup and diagnostics for them. The new functionality is hidden behind an
-enable-experimental-module-selector
frontend flag. There is one diagnostic regression with that flag enabled, but I've made sure that it keeps working when the diagnostic is disabled.This work was previously in PR #28834, which was closed during the master-to-main transition. I've updated it to work on modern compilers, including removing some FIXMEs for bad diagnostics that have improved since December 2019.
Makes progress on rdar://problem/19481048.